home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / msqllib / gcc / os-include / libraries / msql.h
C/C++ Source or Header  |  1999-01-01  |  3KB  |  150 lines

  1. /*
  2. **      $VER: Msql.h 5.0 (16.09.98)
  3. **
  4. **      definition of Msql
  5. **
  6. **      (C) Copyright 1998 Christophe Sollet
  7. **      All Rights Reserved.
  8. */
  9.  
  10. #ifndef MSQL_MSQL_H
  11. #define MSQL_MSQL_H
  12.  
  13. #ifndef  EXEC_LIBRARIES
  14. #include <exec/libraries.h>
  15. #endif /* EXEC_LIBRARIES_H */
  16.  
  17. extern struct MsqlConnection;
  18.  
  19. struct HookMessage
  20. {
  21.     UBYTE id;    /* witch function was called */
  22.     UBYTE type; /* Enter the function or exit it?*/
  23.     struct Task *task;  /* The calling task */
  24.  
  25.     APTR a0;    /* Register Contents at the function call or return */
  26.     APTR a1;
  27.     APTR a2;
  28.  
  29.     ULONG d0;
  30.     ULONG d1;
  31.     ULONG d2;
  32. };
  33.  
  34. #define FCH_ENTER 0
  35. #define FCH_EXIT  1
  36.  
  37. /* Hook Function id */
  38. #define MFT_AllocConnection            1
  39. #define MFT_FreeConnection            2
  40. #define MFT_GetErrMsg                3
  41. #define MFT_Connect                    4
  42. #define MFT_SelectDB                5
  43. #define MFT_Query                    6
  44. #define MFT_CreateDB                7
  45. #define MFT_DropDB                    8
  46. #define MFT_Shutdown                9
  47. #define MFT_GetProtoInfo            10
  48. #define MFT_ReloadAcls                11
  49. #define MFT_GetServerInfo            12
  50. #define MFT_GetHostInfo                13
  51. #define MFT_Close                    14
  52. #define MFT_DataSeek                15
  53. #define MFT_FieldSeek                16
  54. #define MFT_FreeResult                17
  55. #define MFT_FetchRow                18
  56. #define MFT_FetchField                19
  57. #define MFT_ListDBs                    20
  58. #define MFT_ListTables                21
  59. #define MFT_ListFields                22
  60. #define MFT_ListIndex                23
  61. #define MFT_StoreResult                24
  62. #define MFT_LoadConfigFile            25
  63. #define MFT_GetIntConfOld            26
  64. #define MFT_GetCharConfOld            27
  65. #define MFT_GetIntConf                28
  66. #define MFT_GetCharConf                29
  67. #define MFT_GetServerStats            30
  68. #define MFT_CopyDB                    31
  69. #define MFT_MoveDB                    32
  70. #define MFT_UnixTimeToDate            33
  71. #define MFT_UnixTimeToTime            34
  72. #define MFT_GetSequenceInfo            35
  73. #define MFT_DateToUnixTime            36
  74. #define MFT_TimeToUnixTime            37
  75. #define MFT_SumTimes                38
  76. #define MFT_DateOffset                39
  77. #define MFT_DiffTimes                40
  78. #define MFT_DiffDates                41
  79.  
  80. /* The end of this files comes from the original "msql.h" which is ©1998 David J. Hughes. */
  81.  
  82. typedef    char    ** m_row;
  83.  
  84. typedef struct field_s {
  85.     char    *name,
  86.         *table;
  87.     int    type,
  88.         length,
  89.         flags;
  90. } m_field;
  91.  
  92. typedef struct     m_seq_s {
  93.     int    step,
  94.         value;
  95. } m_seq;
  96.  
  97.  
  98. typedef    struct    m_data_s {
  99.     int    width;
  100.     m_row    data;
  101.     struct    m_data_s *next;
  102. } m_data;
  103.  
  104. typedef struct m_fdata_s {
  105.     m_field    field;
  106.     struct m_fdata_s *next;
  107. } m_fdata;
  108.  
  109.  
  110.  
  111. typedef struct result_s {
  112.         m_data     *queryData,
  113.                 *cursor;
  114.     m_fdata    *fieldData,
  115.         *fieldCursor;
  116.     int    numRows,
  117.         numFields;
  118. } m_result;
  119.  
  120.  
  121. #define    MsqlNumRows(res) res->numRows
  122. #define    MsqlNumFields(res) res->numFields
  123.  
  124. #define INT_TYPE    1
  125. #define CHAR_TYPE    2
  126. #define REAL_TYPE    3
  127. #define IDENT_TYPE    4
  128. #define NULL_TYPE    5
  129. #define TEXT_TYPE    6
  130. #define DATE_TYPE    7
  131. #define UINT_TYPE    8
  132. #define MONEY_TYPE    9
  133. #define TIME_TYPE    10
  134. #define LAST_REAL_TYPE    10
  135. #define IDX_TYPE    253
  136. #define SYSVAR_TYPE    254
  137. #define    ANY_TYPE    255
  138.  
  139. #define NOT_NULL_FLAG   1
  140. #define UNIQUE_FLAG    2
  141.  
  142. #define IS_UNIQUE(n)    (n & UNIQUE_FLAG)
  143. #define IS_NOT_NULL(n)    (n & NOT_NULL_FLAG)
  144.  
  145. static char msqlTypeNames[][12] = 
  146.     {"???", "int", "char","real","ident","null","text","date","uint",
  147.     "money","time","???"};
  148.  
  149. #endif /* MSQL_MSQL_H */
  150.